/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import { request as __request, checkJsonSchema as __checkJsonSchema } from '../../core/request';
const schemas = require("../schema").default;

export class FlowChartEngineService {

    /**
     * 保存一个用例的图形流数据
     * @returns any Example response
     * @throws ApiError
     */
    public static async saveFlowchart({
        requestBody,
    }: {
        requestBody?: {
            /**
             * 测试用例ID，对应MySQL主键
             */
            caseId: number,
            /**
             * 输入参数列表
             */
            inputs?: Array<{
                /**
                 * 参数名称
                 */
                name: string,
                /**
                 * 数据类型，可取值：
                 * integer – 整型
                 * float – 浮点型
                 * string – 字符串
                 */
                datatype: string,
                /**
                 * 参数说明
                 */
                comment?: string,
            }>,
            /**
             * 全局变量列表
             */
            globalVars?: Array<{
                /**
                 * 变量名称
                 */
                name: string,
                /**
                 * 变量类型，可取值：
                 * integer – 整型
                 * float – 浮点型
                 * string – 字符串
                 */
                datatype: string,
                /**
                 * 初始值
                 */
                default?: string,
                /**
                 * 变量说明
                 */
                comment?: string,
            }>,
            /**
             * keyword列表，取自rf的keyword概念
             */
            keywords: Array<{
                /**
                 * Keyword ID，对应rf的keyword
                 */
                kwId: number,
                /**
                 * Keyword名称
                 */
                kwName: string,
                /**
                 * Keyword类别，可取值：
                 * main – 主函数
                 * userdefined – 用户自定义的keyword
                 */
                category: string,
                /**
                 * 逻辑组件列表
                 */
                sibs: Array<{
                    /**
                     * 组件ID
                     */
                    id: number,
                    /**
                     * 组件类型，可取值为：begin、input、variables、http、end
                     */
                    type: string,
                    /**
                     * 该组件作为连线目的对象的连线源sibId列表
                     */
                    from: Array<any>,
                    /**
                     * 该组件的连线目标sibId列表
                     */
                    to: Array<any>,
                }>,
            }>,
        },
    }): Promise<{
        /**
         * 值为0，操作成功
         */
        optResult: number,
        /**
         * 操作失败说明
         */
        msg?: string,
    }> {
        const result = await __request({
            method: 'POST',
            path: `/flowchartmanager/v1/save`,
            body: requestBody,
        });

        __checkJsonSchema("saveFlowchart", schemas, result);
        return result.body;
    }

    /**
     * Your GET endpoint
     * 查看一个用例的图形流数据
     * @returns any OK
     * @throws ApiError
     */
    public static async getFlowchartData({
        requestBody,
    }: {
        requestBody?: {
            /**
             * 用例ID
             */
            caseId: number,
        },
    }): Promise<{
        /**
         * 值为0，操作成功
         */
        optResult: number,
        /**
         * 操作失败说明
         */
        msg?: string,
        /**
         * 输入参数列表
         */
        inputs?: Array<{
            /**
             * 参数名称
             */
            name: string,
            /**
             * 数据类型，可取值：
             * integer – 整型
             * float – 浮点型
             * string – 字符串
             */
            datatype: string,
            /**
             * 参数说明
             */
            comment?: string,
        }>,
        /**
         * 全局变量列表
         */
        globalVars?: Array<{
            /**
             * 变量名称
             */
            name: string,
            /**
             * 变量类型，可取值：
             * integer – 整型
             * float – 浮点型
             * string – 字符串
             */
            datatype: string,
            /**
             * 初始值
             */
            default?: string,
            /**
             * 变量说明
             */
            comment?: string,
        }>,
        /**
         * keyword列表，取自rf的keyword概念
         */
        keywords: string,
    }> {
        const result = await __request({
            method: 'GET',
            path: `/flowchartmanager/v1/get-flow`,
            body: requestBody,
        });

        __checkJsonSchema("getFlowchartData", schemas, result);
        return result.body;
    }

}